//
//  CoGeOffscreenRenderer.h
//  CoGeOpenSource
//
//  Created by Tamas Nagy on 14/11/13.
//  Copyright (c) 2013 home. All rights reserved.
//

#import <Foundation/Foundation.h>
#import <Quartz/Quartz.h>

@interface CoGeOffscreenRenderer : NSObject {

    id renderer;
    NSThread *creatorThread;
    
    BOOL markedToRelease;

    NSString *compositionFilePath;
    
    BOOL isUsingFallbackRenderer;

}

@property (readwrite, retain) NSString *compositionFilePath;
@property (readwrite, assign) NSThread *creatorThread;

-(void)renderAtTime:(NSTimeInterval)time withArguments:(NSDictionary *)arguments;

-(id)initWithComposition:(QCComposition *)composition;


-(void)cleanUpOnRenderingThread;

- (QCComposition*) composition;
- (BOOL)setValue:(id)value forInputKey:(NSString *)key;
- (id)valueForInputKey:(NSString *)key;
- (id)valueForOutputKey:(NSString *)key;
- (id) valueForOutputKey:(NSString*)key ofType:(NSString*)type;
- (NSDictionary *)attributes;
- (NSArray *)inputKeys;
- (NSArray *)outputKeys;
@end
